Neighbor Discovery Protocol (NDP) is a protocol available in the Internet Protocol (IP) Suite used with IP version six (IPv6). It operates across the IP network and link layers and is responsible for discovery of other nodes on the link, determining the link layer addresses of other nodes from their network IP address, finding available routers, and maintaining reachability information about the paths to other active neighbor nodes. NDP performs functions for IPv6 which are similar to the way Address Resolution Protocol (ARP) and Internet Control Message Protocol (ICMP) Router Discovery and Router Redirect protocols operate for IPv4. However, NDP can provide improvements over IPv4 counterparts. For example, NDP includes Neighbor Unreachability Detection (NUD), and can improve robustness of packet delivery in the presence of failing routers or links, or mobile nodes.
Neighbor Unreachability Detection (NUD) refers to determining that a neighbor is no longer reachable on a link. Neighbor unreachability detection verifies that two-way communication with a neighbor node exists. The host sends a neighbor solicitation to a node and waits for a solicited neighbor advertisement. If a solicited neighbor advertisement is received, the node is considered reachable. If there is no response, the host can repeat this process before declaring a neighbor unreachable. If a neighbor is found to be unreachable, the address entry can be deleted from a neighbor cache, such as switch or router forwarding table.
Each device maintains information about each of its neighbors and updates the information dynamically as network conditions change. The information is kept for both host and router devices that are neighbors on the network. Knowing that a device has become unreachable is important because a node can adapt behavior accordingly. In the case of an unreachable host, a device may wait a certain period of time before trying to send data packets to an unreachable host instead of flooding the network with repeated attempts to send to the host. An unreachable router, on the other hand, is a signal that the device needs to find a new router to use, if an alternate route is available.
Previous systems and methods for updating forwarding tables of network switches or routers have used NUD but have had various limitations, such as scalability and delays in reporting unreachable neighboring nodes.